package com.tsunami.authority.dto.core;

import com.tsunami.authority.enums.common.ComStatus;
import com.tsunami.authority.enums.common.DelFlag;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * @author Admin
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@Schema(description = "部门")
public class DeptSaveDTO implements Serializable {
    @Schema(description = "租户号")
    private Long tenantId;

    /**
     * 父部门ID
     */
    @Schema(name = "父部门ID")
    private Long parentId;
    /**
     * 祖级列表
     */
    @Schema(name = "祖级列表")
    private String ancestors;
    /**
     * 部门名称
     */
    @Schema(name = "部门名称")
    private String name;
    /**
     * 显示顺序
     */
    @Schema(name = "显示顺序")
    private String sort;
    /**
     * 负责人
     */
    @Schema(name = "负责人")
    private Long leader;
    /**
     * 联系电话
     */
    @Schema(name = "联系电话")
    private String phone;
    /**
     * 邮箱
     */
    @Schema(name = "邮箱")
    private String email;
    /**
     * 部门状态
     */
    @Schema(name = "部门状态")
    private ComStatus status;
    /**
     * 删除标志
     */
    @Schema(name = "删除标志")
    private DelFlag delFlag;

    @Schema(name = "部门类型")
    private Long type;

    @Schema(name = "学制")
    private Integer num;
}
